#ifndef __ES_OLED_H
#define __ES_OLED_H

#ifdef __cplusplus
 extern "C" {
#endif

#include "es_gpio.h"

#define OLED_ADDRESS	0x78 //通过调整0R电阻,屏可以0x78和0x7A两个地址 -- 默认0x78
// <<< Use Configuration Wizard in Context Menu >>>

/* 使用硬件iic */
// <e> Simulative I2C
// <i> USING Simulative I2C
#define USING_SIM_I2C		1

#if	USING_SIM_I2C	/* 软件模拟 iic */
/* 在此配置所用引脚 */
/******************************************/
// <o>OLED_GPIO
//	<0x40010800=> GPIOA
//	<0x40010C00=> GPIOB
//	<0x40011000=> GPIOC
//	<0x40011400=> GPIOD
//	<0x40011800=> GPIOE
//	<0x40011C00=> GPIOF
//	<0x40012000=> GPIOG
#define	OLED_GPIO			(GPIO_TypeDef*)0x40010C00
// <o>SCL_PIN
//  <i><0-15>
//  <0-15>
#define	SCL_PIN				13
// <o>SDA_PIN
//  <i><0-15>
//  <0-15>
#define	SDA_PIN				15
/******************************************/
// </e>

/* 显示方向翻转 */
// <c1>OLED_DisplayTurn
//  <i>OLED_DisplayTurn
//#define OLED_DisplayTurn
// </c>

#define	SCL	 PIN_OUT(GPIOB, SCL_PIN)
#define	SDA	 PIN_OUT(GPIOB, SDA_PIN)
#else 								/* 硬件 iic */

/* 在此配置所用 I2C 及其时钟频率 */
/******************************************/
#define OLED_I2C				I2C1
#define I2C_CLOCKSPEED	400000
/******************************************/
#endif
// <<< end of configuration section >>>


void oled_init(void);
void OLED_CLS(void);
void OLED_ShowChar(unsigned char x, unsigned char y, unsigned char ch);
void OLED_ShowStr(unsigned char x, unsigned char y, const unsigned char *ch, unsigned char TextSize);

#ifdef __cplusplus
}
#endif


#endif /* __ES_OLED_H */
